{ "cells": [ { "cell_type": "markdown", "id": "448ac2c8-725d-4475-999f-269af92a5deb", "metadata": {}, "source": [ "# Testing survey as an extension of geopandas\n", "O. Kaufmann, 2024." ] }, { "cell_type": "code", "execution_count": 1, "id": "3af2bfa3-b9ad-4db3-956f-07da8525bb2e", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import geopandas as gpd\n", "from shapely import Point, LineString\n", "from geometron.survey import TopoPoint, TopoLine, TopoObject\n", "from geometron.geometries import features_to_gdf, gdf_to_features\n", "from geometron.plot import plot_point, plot_line, plot_profile, plot_gdf_survey, plot_basemap" ] }, { "cell_type": "code", "execution_count": 2, "id": "f1a835d7-8e5d-494f-93a6-5cdf3bd72eee", "metadata": {}, "outputs": [], "source": [ "@pd.api.extensions.register_dataframe_accessor(\"survey\")\n", "class SurveyAccessor:\n", " def __init__(self, gdf):\n", " self.__required_index = ('id', 'object')\n", " self.__required_fields = {'class': 'object', 'kind': 'object', 'label': 'object', 'show_label': 'boolean', 'geometry': 'geometry'}\n", " self._validate(gdf)\n", " self._gdf = gdf\n", " self._name = ''\n", " self._units = 'm'\n", "\n", " def _validate(self, gdf):\n", " # verify that required index and fields are present have the right type \n", " if gdf.index.name!=self.__required_index[0]:\n", " raise IndexError(f'An index named {self.__required_index[0]} is expected for surveys...')\n", " elif gdf.index.dtype!=self.__required_index[1]:\n", " raise IndexError(f'Wrong dtype. The type of index should be {self.__required_index[1]} not {gdf.index.dtype}.')\n", " for col in list(self.__required_fields.keys()):\n", " if col not in gdf.columns:\n", " raise AttributeError(f'Missing {col} in columns...')\n", " elif gdf[col].dtype != self.__required_fields[col]:\n", " raise AttributeError(f'Wrong dtype. The type of column {col} should be {self.__required_fields[col]} not {gdf[col].dtype}.')\n", " \n", " self._gdf = gdf.loc[:, list(self.__required_fields.keys())].astype(self.__required_fields)\n", " return self._gdf\n", "\n", " def copy(self):\n", " return self._gdf\n", " \n", " @property\n", " def name(self):\n", " return self._name\n", "\n", " @name.setter\n", " def name(self, value):\n", " assert isinstance(value, str)\n", " self._name = value\n", "\n", " def __getitem__(self, item):\n", " f = self._gdf.query(f'index==\"{item}\"').copy()\n", " return gdf_to_features(f)\n", "\n", " def add_features(self, features, **kwargs):\n", " \"\"\" Adds features to the current survey \n", " Parameters:\n", " -----------\n", " features: single object with __geo_interface__ | iterable of objects with __geo_interface__\n", " features to add to the survey\n", "\n", " Returns:\n", " --------\n", " geopandas.GeoDataFrame\n", " the updated survey\n", " \n", " \"\"\"\n", " if not hasattr(features, '__iter__'):\n", " features = [features]\n", " gdf = features_to_gdf(features=features, **kwargs)\n", " gdf = pd.concat([self._gdf.survey.copy(), gdf], ignore_index=False)\n", " # copy survey properties\n", " gdf.survey.name = self.name\n", " return gdf\n", "\n", " def to_features(self):\n", " pass \n", " \n", " def get(self, id):\n", " pass\n", "\n", " def plot(self, **kwargs):\n", " ax = plot_gdf_survey(self._gdf, **kwargs)\n", " return ax" ] }, { "cell_type": "code", "execution_count": 3, "id": "75ba0e82-a024-4617-a215-993c8c1343a2", "metadata": {}, "outputs": [], "source": [ "def create_survey(feature_list=None, **kwargs):\n", " if feature_list is None:\n", " gdf = gpd.GeoDataFrame(columns=['id', 'class', 'kind', 'label', 'show_label', 'geometry'], geometry='geometry')\n", " gdf = gdf.astype({'id': 'object', 'class': 'object', 'kind': 'object', 'label': 'object', 'show_label': 'boolean', 'geometry': 'geometry'})\n", " gdf.set_index('id', inplace=True)\n", " return gdf\n", " elif not hasattr(feature_list, '__iter__'):\n", " feature_list = [feature_list]\n", " print([f.__geo_interface__ for f in feature_list])\n", " gdf = features_to_gdf(feature_list, **kwargs)\n", " return gdf, [f.__geo_interface__ for f in feature_list]" ] }, { "cell_type": "code", "execution_count": 4, "id": "3d2716df-b22d-40b3-9e56-ecba4ac8df19", "metadata": {}, "outputs": [], "source": [ "L001 = TopoPoint('POINT (0. 0.)', id='L001', kind='landmark')\n", "L002 = TopoPoint('POINT (50. 0.)', id='L002', kind='landmark')\n", "B01 = TopoLine(LineString([L001.geometry, L002.geometry]), id='B01', kind='baseline', show_label=False)" ] }, { "cell_type": "code", "execution_count": 5, "id": "d0d13711-1194-4ef5-970f-0ac68fb26b3a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'type': 'Feature',\n", " 'properties': {'id': 'B01',\n", " 'class': 'TopoLine',\n", " 'kind': 'baseline',\n", " 'label': 'B01',\n", " 'show_label': False},\n", " 'geometry': {'type': 'LineString', 'coordinates': ((0.0, 0.0), (50.0, 0.0))}}" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B01.__geo_interface__" ] }, { "cell_type": "code", "execution_count": 6, "id": "844b6537-9b9f-42c5-acee-bc1ab5a5ef26", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'type': 'Feature', 'properties': {'id': 'L001', 'class': 'TopoPoint', 'kind': 'landmark', 'label': 'L001', 'show_label': True}, 'geometry': {'type': 'Point', 'coordinates': (0.0, 0.0)}}, {'type': 'Feature', 'properties': {'id': 'L002', 'class': 'TopoPoint', 'kind': 'landmark', 'label': 'L002', 'show_label': True}, 'geometry': {'type': 'Point', 'coordinates': (50.0, 0.0)}}, {'type': 'Feature', 'properties': {'id': 'B01', 'class': 'TopoLine', 'kind': 'baseline', 'label': 'B01', 'show_label': False}, 'geometry': {'type': 'LineString', 'coordinates': ((0.0, 0.0), (50.0, 0.0))}}]\n" ] } ], "source": [ "s, f_list = create_survey([L001, L002, B01])" ] }, { "cell_type": "code", "execution_count": 7, "id": "02d762fb-badd-42c3-b8da-738da9e48b31", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geometryclasskindlabelshow_label
id
L001POINT (0 0)TopoPointlandmarkL001True
L002POINT (50 0)TopoPointlandmarkL002True
B01LINESTRING (0 0, 50 0)TopoLinebaselineB01False
\n", "
" ], "text/plain": [ " geometry class kind label show_label\n", "id \n", "L001 POINT (0 0) TopoPoint landmark L001 True\n", "L002 POINT (50 0) TopoPoint landmark L002 True\n", "B01 LINESTRING (0 0, 50 0) TopoLine baseline B01 False" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s" ] }, { "cell_type": "code", "execution_count": 8, "id": "2ef7c7f7-ad74-4216-882e-1e51a8fcb40c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "square grid step: 10.0\n" ] }, { "data": { "image/png": "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k8+u8jPKDAAAsBplppYbP368Xn/9dZ/bv/32Wz3zzDPq1auX+vXrp1deeaXac7MFBQWaOnWqunXrpttvv13r16+vsv3cuXN6/fXXNXnyZN15551X/HkAEGqWLVumhx566Ir7bNiwQcnJyerWrZsmT56sM2fOVNlujNHy5cvVv39/9ezZU0899VSVzyY6fvy4nnjiCd16663q2rWrBg8erLfeeotrbX4gykwtt3HjRn3++ec+t//2t7/VCy+8oIkTJ2rUqFGaOnWq54PNpMsvC0xJSdGGDRs0Y8YM3XTTTRo5cqRWrlzp2SczM1OTJ0/WZ599pv/6r//S3r17/XqbAMAme/bs0aZNm3xuX716tf7lX/5FvXv31syZM5WVlaWBAwdW+VTop59+WmlpaRo+fLgmT56sF198UXfffbdn+9/+9je9++67uv322zV16lS1atVKv/71r7Vw4UK/3ragYSxXWFhoJJmzZ88GehS/aNWqlUlPT/e67YsvvjCSzN/+9jfPujlz5pj69eubsrIyU15eblasWGEkmS+//NKzzz333GO6devmWS4pKTHl5eXGGGNat25tpk2b5qdbU3uUlZWZdevWmbKyskCPUuuQjXfk4luwZzNp0iTTvn17n9v79OljRo0a5Vk+duyYCQsLMytXrjTl5eXm1KlTJjo62sycOdOzz3vvvWckmZycHGOMMefPn/echyuNGjXKdOzYsYZvTe1x9uxZI8kUFhZe9bF4ZMZiW7ZsUWRkpH7xi1941o0ZM0bFxcXasWOHJOnjjz/W9ddfX+XdfkeMGKGDBw963jnY6XRypT0A/ATffPONcnJy9Mtf/tKzrl27durRo4e2bt0qScrJyZHL5dLo0aM9+6Smpqphw4basmWLJKlRo0bVzsMtW7ZUaWnpNbgV9uM3mMVycnLUtGlTRUZGetZVfirr7t27JV3+VO2WLVtW+b727duroqLiik9fAQD+uZycHF26dEnt27evsr5ly5bav3+/JOnAgQOSVOVdgh0Oh5o1a+bzaf2zZ89q9erVGj58uH8GDzKUGYuVlJRU+9TryMhIRUREqKSkxOc+0dHRki5fPAwA+Okqz6OV59VKDRo08DyqUrlPw4YNq+1Tea7+rpKSEo0cOVKNGzfWvHnz/DF20KHMWKxBgwYqKiqqsu7ixYsqKytTgwYNJF3+QMnv73Pu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2lR16tTxeruD9Tb/FJVZhHpOkyZN0vr165WVlaXWrVt71sfHx6usrEwXLlyosn+o5BMREaFOnTopMTFRGRkZ6tWrl55//vmQzmXXrl06ffq0brzxRtWtW1d169ZVdna2XnjhBdWtW1dxcXEhm833NWrUSNddd52OHDkS0vcZSWrRooW6du1aZd0NN9zgeRqups7Fta7MNGvWTF26dLniV0RExA86VlJSknJycqq8iiczM1PR0dHVwg0WERERSkxM1ObNmz3rKioqtHnzZiUlJQVwstolISFB8fHxVXJyuVz65JNPQiInY4wmTZqktWvXasuWLUpISKiyPTExUQ6Ho0o+hw4dUm5ubkjk830VFRUqLS0N6VwGDRqknJwc7dmzx/PVt29f/eY3v/H8O1Sz+b5vvvlGX331lVq0aBHS9xlJGjBgQLW3ffjyyy/Vrl07STV4Lr6aq5QD7euvvza7d+82c+bMMQ0aNDC7d+82u3fvNkVFRcYYYy5dumS6d+9uhgwZYvbs2WM2bNhgmjVrZmbMmBHgyf3r7bffNk6n06xYscIcOHDATJgwwTRq1KjKq7pCQVFRkec+IcksXLjQ7N6923z99dfGGGPmzZtnGjVqZN59912zd+9ec+edd5qEhATz7bffBnhy/5s4caKJiYkxf//7382pU6c8XxcvXvTs87vf/c60bdvWbNmyxezcudMkJSWZpKSkAE59bUyfPt1kZ2ebo0ePmr1795rp06ebsLAws2nTJmNM6ObizXdfzWRM6GYzbdo08/e//90cPXrU/Pd//7dJSUkxTZs2NadPnzbGhG4uxhizY8cOU7duXTN37lxz+PBhs3LlShMVFWXefPNNzz41cS62usyMHTvWSKr2lZWV5dnn2LFjZujQoaZevXqmadOmZtq0acbtdgdu6Gtk0aJFpm3btiYiIsL069fPbN++PdAjXXNZWVle7x9jx441xlx+SeCTTz5p4uLijNPpNIMGDTKHDh0K7NDXiLdcJJnly5d79vn222/Nww8/bBo3bmyioqLMyJEjzalTpwI39DXywAMPmHbt2pmIiAjTrFkzM2jQIE+RMSZ0c/Hm+2UmVLO5++67TYsWLUxERIRp1aqVufvuu82RI0c820M1l0rvvfee6d69u3E6naZLly7mpZdeqrK9Js7FYcYY81MeOgIAAKgNat01MwAAAD8GZQYAAFiNMgMAAKxGmQEAAFajzAAAAKtRZgAAgNUoMwAAwGqUGQAAYDXKDAAAsBplBgAAWI0yAwAArEaZAQAAVvs/Mkvnd7WlhB8AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = s.survey.plot()" ] }, { "cell_type": "code", "execution_count": 12, "id": "5c56dc1f-bce6-4dd6-b5e4-e4ea54df75c0", "metadata": {}, "outputs": [], "source": [ "s.survey.name = 'test_survey'" ] }, { "cell_type": "code", "execution_count": 13, "id": "ac247c05-293a-45b3-b1f0-70831b9ab295", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'test_survey'" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u = s.survey.copy()\n", "u.survey.name" ] }, { "cell_type": "code", "execution_count": 14, "id": "3fe3c9ac-3490-4e18-93ed-001d51e4d929", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "feature properties: {'class': 'TopoLine', 'kind': 'baseline', 'label': 'B01', 'show_label': False, 'id': 'B01'}\n" ] } ], "source": [ "B01_copy, crs = s.survey['B01']\n", "crs" ] }, { "cell_type": "code", "execution_count": 15, "id": "76980bef-167c-4fe6-95bd-4d0f035bf3d4", "metadata": {}, "outputs": [ { "data": { "image/png": "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Ux06dNCIESPUp08f3X333Zo/f74qKir01FNPKSsri3dMAACApDBenjxx4kS99tprZ2xft26dbrjhBknSwYMHNXnyZK1fv17t27fXhAkTNG/ePEVHN72fuDwZAIDI09TX77B/j0q4ESoAAEQe679HBQAA4FwIFQAAYC1CBQAAWItQAQAA1iJUAACAtQgVAABgLUIFAABYi1ABAADWIlQAAIC1CBUAAGAtQgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWItQAQAA1iJUAACAtQgVAABgLUIFAABYi1ABAADWIlQAAIC1CBUAAGAtQgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWItQAQAA1iJUAACAtQgVAABgLUIFAABYi1ABAADWIlQAAIC1CBUAAGCtsIXK888/ryFDhqhdu3aKi4tr8BiXy3XGyM/PD9eUAABAhIkO1wPX1NRo3LhxysjI0CuvvNLocStWrNCoUaOCtxuLGgAA8MsTtlCZO3euJCkvL++sx8XFxcnr9YZrGgAAIII5fo5KVlaWOnXqpEGDBunVV1+VMeasxwcCAfn9/pABAABaprC9o9IUzzzzjG688Ua1a9dOH330kR5++GGdOHFCjzzySKP3yc3NDb5bAwAAWjaXOddbGD+Qk5OjF1988azH7NmzR7179w7ezsvL07Rp01RVVXXOx581a5ZWrFihsrKyRo8JBAIKBALB236/X6mpqfL5fIqNjT33DwEAABzn9/vl8XjO+fp9Xu+ozJgxQxMnTjzrMT169DifhwyRnp6uZ599VoFAQG63u8Fj3G53o/sAAEDLcl6hkpiYqMTExHDNRUVFRYqPjydEAACApDCeo1JaWqpvvvlGpaWlqqurU1FRkSSpZ8+e6tChg959911VVlZq8ODBatOmjVavXq0XXnhBjz32WLimBAAAIkzYQmXWrFl67bXXgrevueYaSdK6det0ww03qHXr1lqyZImmT58uY4x69uyphQsXatKkSeGaEgAAiDDndTKtjZp6Mg4AALBHU1+/Hf8eFQAAgMYQKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagA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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "B01_copy.show_label=True\n", "B01_copy.plot()" ] }, { "cell_type": "code", "execution_count": 16, "id": "d4ff464a-bd9e-4782-a852-ff359c27e6c1", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geometryclasskindlabelshow_label
id
L001POINT (0 0)TopoPointlandmarkL001True
L002POINT (50 0)TopoPointlandmarkL002True
B01LINESTRING (0 0, 50 0)TopoLinebaselineB01False
\n", "
" ], "text/plain": [ " geometry class kind label show_label\n", "id \n", "L001 POINT (0 0) TopoPoint landmark L001 True\n", "L002 POINT (50 0) TopoPoint landmark L002 True\n", "B01 LINESTRING (0 0, 50 0) TopoLine baseline B01 False" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.set_crs('epsg:3857', inplace=True)" ] }, { "cell_type": "code", "execution_count": 17, "id": "e6e30923-24d7-4d70-9f68-819b6574416f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "feature properties: {'class': 'TopoPoint', 'kind': 'landmark', 'label': 'L001', 'show_label': True, 'id': 'L001'}\n", "feature properties: {'class': 'TopoPoint', 'kind': 'landmark', 'label': 'L002', 'show_label': True, 'id': 'L002'}\n", "feature properties: {'class': 'TopoLine', 'kind': 'baseline', 'label': 'B01', 'show_label': False, 'id': 'B01'}\n" ] }, { "data": { "text/plain": [ "([,\n", " ,\n", " ],\n", " \n", " Name: WGS 84 / Pseudo-Mercator\n", " Axis Info [cartesian]:\n", " - X[east]: Easting (metre)\n", " - Y[north]: Northing (metre)\n", " Area of Use:\n", " - name: World between 85.06°S and 85.06°N.\n", " - bounds: (-180.0, -85.06, 180.0, 85.06)\n", " Coordinate Operation:\n", " - name: Popular Visualisation Pseudo-Mercator\n", " - method: Popular Visualisation Pseudo Mercator\n", " Datum: World Geodetic System 1984 ensemble\n", " - Ellipsoid: WGS 84\n", " - Prime Meridian: Greenwich)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "features, crs = gdf_to_features(s)\n", "features, crs" ] }, { "cell_type": "code", "execution_count": 18, "id": "c5f9a9dd-c62a-4b1b-89cc-315a817137ad", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geometryclasskindlabelshow_label
id
L001POINT (0 0)TopoPointlandmarkL001True
L002POINT (50 0)TopoPointlandmarkL002True
B01LINESTRING (0 0, 50 0)TopoLinebaselineB01False
\n", "
" ], "text/plain": [ " geometry class kind label show_label\n", "id \n", "L001 POINT (0 0) TopoPoint landmark L001 True\n", "L002 POINT (50 0) TopoPoint landmark L002 True\n", "B01 LINESTRING (0 0, 50 0) TopoLine baseline B01 False" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "features_to_gdf(features, crs=crs)" ] }, { "cell_type": "code", "execution_count": 19, "id": "101d55d4-d9ea-48ce-84d9-0a1248cfed6e", "metadata": {}, "outputs": [], "source": [ "L003 = TopoPoint('POINT (20. 20.)', id='L003', kind='landmark')\n", "L004 = TopoPoint('POINT (35. 15.)', id='L004', kind='landmark')\n", "B02 = TopoLine(LineString([L003.geometry, L004.geometry]), id='B02', kind='baseline', show_label=False)" ] }, { "cell_type": "code", "execution_count": 20, "id": "bf8b5703-8403-400b-9e85-b8eb0203a7ab", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/su530201/.local/share/virtualenvs/geometron-VhFx4lLH/lib/python3.10/site-packages/geopandas/array.py:1638: UserWarning: CRS not set for some of the concatenation inputs. Setting output's CRS as WGS 84 / Pseudo-Mercator (the single non-null crs provided).\n", " return GeometryArray(data, crs=_get_common_crs(to_concat))\n" ] } ], "source": [ "s = s.survey.add_features([L003, L004])" ] }, { "cell_type": "code", "execution_count": 21, "id": "f5417834-0838-4a56-b782-a1bf63854e5c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'test_survey'" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.survey.name" ] }, { "cell_type": "code", "execution_count": 22, "id": "ca15c4b3-9acb-4ffb-be31-e23ba788ab10", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "square grid step: 10.0\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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efNmzZw5U4MHD1ZNTY3KyspcjqqUlpYqPj7+rNsLDg5WcHBwnfHAwECf+498hi/v+4WgT+6hT+6hT+6hT+7xxT65u78N/jkqDodD1dXVSklJUWBgoFavXu2c2717t4qLi5WamtrQZQEAAAN59IjK2LFjdcsttygxMVHHjx/XwoULtXbtWr3//vuKiorSgw8+qOzsbMXExCgyMlLDhw9Xamoqd/wAAABJHg4qR48e1X333acjR44oKipKycnJev/999W7d29J0vTp0+Xn56f09HRVV1erb9++mj17tidLAgAAjYhHg0p+fv4550NCQpSbm6vc3FxPlgEAABopvusHAAAYi6ACAACMRVABAADGIqgAAABjEVQAAICxCCoAAMBYBBUAAGAsggoAADAWQQUAABiLoAIAAIxFUAEAAMYiqAAAAGMRVAAAgLEIKgAAwFgEFQAAYCyCCgAAMBZBBQAAGIugAgAAjEVQAQAAxiKoAAAAYxFUAACAsQgqAADAWAQVAABgLIIKAAAwFkEFAAAYi6ACAACMRVABAADGIqgAAABjEVQAAICxCCoAAMBYBBUAAGAsggoAADAWQQUAABiLoAIAAIxFUAEAAMYiqAAAAGMRVAAAgLEIKgAAwFgEFQAAYCyCCgAAMBZBBQAAGIugAgAAjEVQAQAAxiKoAAAAYxFUAACAsQgqAADAWAQVAABgLIIKAAAwFkEFAAAYi6ACAACMRVABAADGIqgAAABjEVQAAICxCCoAAMBYBBUATgEBAd4uAQBcEFQASJL8/PzUunVr2Ww2b5cCAE4EFQAuCCoATEJQASBJWrFihQ4cOODtMgDABSekAeizzz7THXfcoTZt2ujTTz+Vv7+/t0sCAEkcUQF8nmVZysrKUmxsrHbv3q38/HxvlwQATgQVwMe98847KigoUF5engYMGKAJEyaorKzM22UBgCSCCuDTqqurlZ2drd69e+u2225Tdna2Tp06pUmTJnm7NACQRFABfNqsWbO0f/9+TZ8+XTabTc2bN9fYsWP18ssv64svvvB2eQDg2aAyefJkde3aVREREWrevLkGDhyo3bt3u6ypqqpSZmammjZtqvDwcKWnp6u0tNSTZQGQVFpaqmeeeUaPPvqo2rVrp507d+rQoUMaOXKkWrZsqezsbG+XCACeDSqFhYXKzMzUpk2bVFBQILvdrj59+qiy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AACMRVABAADGIqgAAABjEVQAAICxCCoAAMBYBBUAAGAsggoAADAWQQUAABiLoAIAAIxFUAEAAMYiqAAAAGMRVAAAgLEIKgAAwFgEFQAAYCyCCgAAMBZBBQAAGIugAgAAjEVQAQAAxiKoNHLh4eHeLgEA8DOEhIR4uwSjEVQaMT8/P1122WXy8+M/IwA0Rn5+fmrVqpVsNpu3SzEWv+EAAPAygsrZEVQasaVLl2rlypXeLgMA8BNUVVVp3LhxKikp8XYpRgvwdgH4aYqLizVkyBBJ0oABA5SUlOTdggAAF2TatGl64YUXtGXLFr333nveLsdYHFFppJ544glFR0crPDxcY8eO9XY5AIALcOjQIT3//PO6+uqrVVBQoA8//NDbJRmLoNII/etf/9LixYv1/PPPKzs7W4sXL9a//vUvb5cFAHDT2LFjFRoaqoKCAl199dUaNWqUfvjhB2+XZSSCSiNTW1urESNGqGvXrrr33ns1YMAAXXPNNRoxYoRqa2u9XR4A4Dw2bdqkv/3tb3ruuecUHR2tP//5z9qxY4deffVVb5dmJIJKIzNv3jxt3bpVM2fOlJ+fn/z8/DR9+nRt3bpV8+fP93Z5AIBzcDgcGjFihDp37qwHHnhAknTVVVcpIyNDTz31lL7//nsvV2geI4JKbm6uLr/8coWEhKh79+7697//7e2SjFReXq5x48bpnnvuUefOnbVlyxZ9//336tq1q5YsWaJvvvlGVVVV3i7TOH5+fvrVr37F582cB31yD31yD32q36effqo+ffpo2bJlKisr086dO1VTU6OXXnpJ8fHxysnJ8XaJxvH6K2jx4sXKzs7W008/rS1btqhTp07q27evjh496u3SjPPss8/qxIkTmjBhgubOnat3331X77//vvLz89WjRw/V1tZq3bp13i7TSHxGgXvok3vok3vok6uamhqtXr1aycnJqqqq0uzZs7Vs2TK99dZb2rFjh2bPnq133nlHu3bt8napRvH67cnTpk3Tww8/rPvvv1+SNGfOHL377rt67bXXNGbMmDrrq6urVV1d7XxcUVEhSbLb7bLb7Q1TdAM689fInj17NHPmTI0fP167du3S8ePH9fDDD+vYsWN6++23tXPnTnXv3l3r169Xx44dFRMTI0myLMub5RvB4XDIbrerurqav+7OgT65hz65hz6d9uOwtmbNGp04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ZWRkeKJsoxBUDHbmWzTDwsJcxps0aSK73S7p9IW0NptNISEhddbU1NQ0TKEAgHrZ7XY1adLEZSwwMFBBQUHOC2rtdrtCQ0Nd1px53/+/F91KUkFBgR5//HE988wzSk5O9lDl5iCoGKxp06aSpO+++85lvKysTJGRkZJOf0OyZVn6/vvvXdaUl5crKiqqYQoFANQrKipK5eXlLmOVlZWqqalxvsdHRkaqrKzMZc2xY8ck/e/vgTMKCws1aNAgPfbYYxozZoznCjcIQcVgV111lcLCwlzu0jnzccspKSmS5Pzf7du3O9eUlZWppKRE3bt3b9iCAQAuunXrpm+//dblIyPO3Klz3XXXSZI6deqkL7/80uVOzR07digkJESdO3d2jn300Ufq37+/HnjgAb3wwgsNUr8JCCoGCwgI0HXXXadFixaptrZWkrR69WodPHhQt956q6TT16ZcfvnlmjdvnvN58+fPl81mU1pamlfqBgCcdvPNNyswMFD5+fnOsddee00JCQnOTxZPS0tTSUmJVqxYIen0Nyr//e9/V2pqqoKDgyVJGzdu1K233qp7771X06dPb/gd8aJf/uXCjcChQ4fUsWNHl7Err7xSb775pl588UX17NlT11xzjTp27KilS5fq3nvvVY8ePeRwOGSz2TRjxgz97ne/06FDhxQTE6N//vOfevrppxUfH+/c3u9//3vt2LFDJSUlqqiocP68NWvWqFmzZg26vwDwS7NgwYI6H8A2YsQIPfTQQ5o4caLGjx+vf//736qoqND69eu1YMEC+fn5yeFwqHPnzrr//vt11113KT09XZ9//rm++uorffDBB85tDR06VCdOnNC6devUqVMn53ifPn300ksvNdh+egNBxcvuvvtu/frXv64z3rx5c0lScnKy9u3bp9zcXJWWluqtt95yuV1Zkvr376/du3crLy9PVVVV2rhxo6655hqXNXfddZd69OhR5+f83wt1AQAXZsqUKTp+/Hid8a5du0qSnnzySfXt21evv/66goOD9eqrryopKcll7dy5c/W73/1Oy5cv14ABAzRs2DDFxMQ458ePH69vv/22zs9o27btRd4b89gsy7K8XcTPUVFR4bxY6cwFpr7C4XDou+++U9OmTeXnx1m8s7Hb7VqxYoVuvfVWBQYGerscY9En99An99An9/jy+7i7v799qyu/MJZl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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s.survey.plot()" ] }, { "cell_type": "code", "execution_count": 23, "id": "04cda479-eb3d-4ba5-b1f5-f57d5b0e0384", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'test_survey'" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.survey.name" ] }, { "cell_type": "code", "execution_count": 24, "id": "e65da24e-8048-445f-a97f-a202428cf461", "metadata": {}, "outputs": [], "source": [ "s = s.survey.add_features(B02, crs='epsg:3857')" ] }, { "cell_type": "code", "execution_count": 25, "id": "9b21ab7c-0b8b-4ce0-8749-b5b46c9e1b25", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "square grid step: 10.0\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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pYqKCr300kuKiorS1KlTfV2icXz+CnrzzTeVnp6up556Srm5uerSpYv69euno0eP+ro04zz77LM6efKkJk+erFdffVXvvfeePvjgA2VmZqpXr16qrKzUhg0bfF2mkfiOAs/QJ8/QJ8/QJ3cVFRVau3at4uLiVFZWpnnz5mnFihV6++23tXPnTs2bN0/vvvuudu/e7etSjeLzy5NnzJihhx56SPfdd58kaf78+Xrvvff02muvacKECVWWLy8vV3l5uetxcXGxJMnhcMjhcNRM0TXo7F8je/fu1ezZszVp0iTt3r1bJSUleuihh3T8+HG988472rVrl3r06KGNGzeqc+fOatSokSTJsixflm8Ep9Mph8Oh8vJy/ro7D/rkGfrkGfp0xo/D2rp163Ty5En16tVLb7zxhlq2bKnbbrtN69ev17p16zR27FgNHDhQY8aM0apVq1zPdTqdvirfqzz9zPZpUKmoqFBOTo7b5bV+fn5KSkrS5s2bq33OtGnTqt01tmbNGgUHB3ut1ppms9kUGxsru90uSfr973+vpk2b6rbbbtN//vMfVwCJi4ur8lx2HQKAuaZMmVJlbNKkSfruu+90xx13aNasWXrllVd00003SZK+//57HTt2rIar9L5Tp055tJzN8uGf3IcPH9aVV16pTZs2KTEx0TX+2GOPKTs7W1u3bq3ynOr2qLRo0ULHjh1TWFhYjdRdE2w2mytNf/DBBxowYIDefPNNpaSkaO/evXrrrbcUHR2tiooKHTlyRL/5zW8UExOj3bt36+2339Zdd92l1q1bu9ZXl/esOJ1OffPNN2rdunWd/svuQuiTZ+iTZ+iT+96U5cuX6/DhwxoxYoTsdrv++c9/avfu3WrXrp3279+v8PBwPfzww7LZbEpOTlZeXp527NihgIAASZfnXpXi4mI1adJERUVF5/389vmhn4sVGBiowMDAKuN2u9219+Fy4nA4NH78ePXq1UtDhw6VzWZThw4dNGzYMG3dulWWZenXv/612rZtK0mKj4/X9u3btW7dOrVr107+/v4+3gLfq6yslN1uV2BgIP04D/rkGfrkGfr0X/v379e+ffs0ZMgQ1x3vb7/9dkVEROjgwYOKjY3VgAEDVK/emY/k2bNnq0uXLpo3b57GjRsnSZdlDz39zPZpUGnSpIn8/f1VUFDgNl5QUKCoqCgfVWWWjIwMffnll/r973+vTz75xDUeGBio7t27q7y8XIGBgTpw4IBrrkOHDnrvvfe0ceNG3Xjjjb4o2zh1eY/SxaBPnqFPnqFPZwLbqlWr1KBBA4WFhbm9V1999dVq06aNioqK9O233+rkyZOuIwadO3fW+PHjdc899ygyMtJX5RvBp0ElICBACQkJWrt2rQYPHizpzO6ttWvXauTIkb4szRhvv/22JGnUqFEX/dyIiAiCis68pvbu3as2bdpcln+VXCr0yTP0yTP06Yyvv/7a9Xk2fvz4i35+XT1s9mM+P/STnp6u1NRUXXvtterevbtmzZql0tJS11VAdd3KlSt16NChaucqKyt14MABtWzZsto3gquuusrL1QEAzqddu3Y6ePCgSktLq50/3/t4UFCQmjZtWhNlGs3nQWXYsGH67rvvNHnyZOXn5ys+Pl6rV6+u87u6zmrQoIHat29f7VxlZaX8/f3Vtm3bOv0XCwCYrEWLFuec4338wnweVCRp5MiRHOr5iS7HM8EBoC7hffz8OPhVizmdTu3bt48XOQDUUryPXxhBpZZr1KgRuwsBoBaLiYnhffw8CCq1mL+//znPXwEAmM/f31/R0dG+LsNoBBUAAGAsgoqPvfjii7rtttvOOe90OpWRkaG2bduqYcOGGjx4sPbt2+e2TEVFhSZPnqzo6Gg1adJEDz74oL777ju3ZTIyMjR8+HD16NHD9Z01AICfr3///po1a9Y5548fP67f/e53atq0qZo3b65JkyaprKzMbZl///vfSklJUcOGDdW6dWv95S9/cTtvZcmSJerbt68iIyPVrFkz3XDDDcrKyvLWJhmFoOJjBw4c0K5du845n5GRoTFjxmjkyJFatWqVTpw4oT59+rjdzGncuHGaO3euXnjhBS1ZskSffPKJBg8e7PYif/HFF5Wfny+Hw6GdO3d6dZsAoC7ZuXOnDh48eM75lJQUrV27VosWLdLMmTP117/+VY888ohrvqysTH379lV+fr7effddjR07Vo8++qjmzJnjWmbRokVq3bq1MjIylJmZqQYNGqh///7avn27NzfNDFYtV1RUZEmyioqKfF3KTzJy5EgrNjb2nPPt27e3UlNTXY8LCgqsevXqWZmZmVZlZaV16NAhKygoyJo+fbprmfXr11uSrE8//bTK+kaNGmW1atXqkm6D6SoqKqx33nnHqqio8HUpRqNPnqFPnqlLfYqOjrbGjh1b7dyOHTssSdbq1atdY7NmzbICAgKs0tJSq7Ky0nr55ZctPz8/Ky8vz7XMww8/bLVu3dr12OFwuK23rKzMatSokfXII49c4q2pOZ5+frNHxWDHjx/Xnj179Ktf/co11qxZM3Xu3FkbN26UJOXk5KisrEwDBw50LfPLX/5S4eHhWr9+fU2XDAD4kXXr1ik4OFg333yza+y2225TRUWF6/5tW7ZsUYcOHdxOqr3lllv0zTff6OjRo5LkumHhWXa7XfXq1asyfjkiqBhs9+7dsiyryrcaRkVFae/evZLkOl+lZcuWrnl/f381adJEX331Vc0VCwCo4quvvlLjxo3dAsXZQLJ7925J0jfffFPl29jPLnOuUwPmzZun48ePKzU11RtlG4WgYrCzd9EMCQlxG69fv74cDoekMyfS2mw2BQUFVVmmoqKiZgoFAFTL4XCofv36bmN2u10BAQGuE2odDoeCg4Pdljn7vv+/J91KUlZWlh599FE988wziouL81Ll5iCoGKxx48aSpO+//95tvLCwUGFhYZLO3CHZsiydOHHCbZmioiKFh4fXTKEAgGqFh4erqKjIbay0tFQVFRWu9/iwsDAVFha6LXP8+HFJ//0cOCs7O1tDhgzRI488ogkTJnivcIMQVAzWqVMnhYSEuF2lc/brlhMSEiTJ9b87duxwLVNYWKj8/Hz16NGjZgsGALjp3r27jh075vaVEWev1OnZs6ckqUuXLvr666/drtTcuXOngoKCFB8f7xr75JNPNHDgQN1///16/vnna6R+ExBUDFavXj317NlTS5YsUWVlpSRp7dq1ysvLU//+/SWdOTflqquu0oIFC1zPW7hwoWw2m5KSknxSNwDgjJtvvll2u12ZmZmusddee03R0dGubxZPSkpSfn6+Vq1aJenMHZX//ve/KzExUYGBgZKkzZs3q3///rrnnns0c+bMmt8QH7r8TxeuBQ4dOqTOnTu7jXXo0EFvvfWWXnzxRfXu3VvXXnutOnfurOXLl+uee+5Rr1695HQ6ZbPZNGvWLN155506dOiQGjVqpH/+85966qmnFBUV5Vrfr3/9a+3cuVP5+fkqLi52/b5169apSZMmNbq9AHC5WbRoUZUvYBs9erQefPBBTZkyRZMmTdK//vUvFRcXa+PGjVq0aJH8/PzkdDoVHx+v++67T0OHDlVKSoq+/PJL/fvf/9aHH37oWteIESN08uRJbdiwQV26dHGNJycn66WXXqqx7fQFgoqP3XXXXfrFL35RZbxZs2aSpLi4OH3zzTeaO3euCgoK9Pbbb7tdrixJAwcO1J49e5SRkaGysjJt3rxZ1157rdsyQ4cOVa9evar8nv89URcAcHGmT5+ukpKSKuPdunWTJD3++OPq16+fXn/9dQUGBuqVV15RbGys27Kvvvqq7rzzTq1cuVKDBg3SyJEj1ahRI9f8pEmTdOzYsSq/o23btpd4a8xjsyzL8nURP0dxcbHrZKWzJ5jWFU6nU99//70aN24sPz+O4p2Lw+HQqlWr1L9/f9ntdl+XYyz65Bn65Bn65Jm6/D7u6ed33erKZcayLC5BBoBarJbvK6gRBJVazOl0Kjc31+1McQBA7eF0OpWTk0NgOQ+CSi3ndDp5gQNALVZeXs4fnOdBUAEAAMYiqAAAAGMRVAAAgLEIKgAAwFgEFQAAYCyCCgAAMBZBBQAAGIugAgAAjEVQAQAAxiKoAAAAYxFUAACAsQgqAADAWAQVAABgLIIKAAAwFkEFAAAYi6ACAACMRVABAADGIqgAAABjEVQAAICxCCoAAMBYBBUAAGAsggoAADAWQQUAABiLoAIAAIxFUAEAAMYiqAAAAGMRVAAAgLEIKgAAwFgEFQAAYCyCCgAAMBZBBQAAGIugAgAAjEVQAQAAxiKoAAAAYxFUAACAsQgqAADAWAQVAABgLIIKAAAwFkEFAAAYi6ACAACMRVABAADGIqgAAABjEVQAAICxCCoAAMBYXgsqzz33nHr27Kng4GBFRERUu8zBgwc1YMAABQcHq1mzZnr00Uf1ww8/eKskAABQy9Tz1oorKio0dOhQJSYmKjMzs8p8ZWWlBgwYoKioKG3atElHjhzRvffeK7vdrj/+8Y/eKgsAANQiXgsqU6dOlSQtXLiw2vk1a9Zo9+7d+vDDDxUZGan4+Hg988wzevzxxzVlyhQFBARU+7zy8nKVl5e7HhcVFUmSjh8/LofDcWk3wnAOh0OnTp3S999/L7vd7utyjEWfPEOfPEOfPEOfPFOX+1RSUiJJsizrvMt5LahcyObNm9W5c2dFRka6xvr166cRI0boiy++0DXXXFPt86ZNm+YKQT8WGxvrtVoBAIB3lJSUKDw8/JzzPgsq+fn5biFFkutxfn7+OZ83ceJEpaenux47nU4dP35cjRs3ls1m806xhiouLlaLFi2Ul5ensLAwX5djLPrkGfrkGfrkGfrkmbrcJ8uyVFJSoubNm593uYsKKhMmTNDzzz9/3mW+/PJLtW/f/mJWe1ECAwMVGBjoNnauk3XrirCwsDr3Av8p6JNn6JNn6JNn6JNn6mqfzrcn5ayLCirjxo3T8OHDz7tMq1atPFpXVFSU/vWvf7mNFRQUuOYAAAAuKqg0bdpUTZs2vSS/ODExUc8995yOHj2qZs2aSZKysrIUFhamjh07XpLfAQAAajevnaNy8OBBHT9+XAcPHlRlZaW2b98uSWrTpo1CQ0OVnJysjh076je/+Y1eeOEF5efna9KkSUpLS6tyaAfVCwwM1FNPPUW/LoA+eYY+eYY+eYY+eYY+XZjNutB1QT/R8OHD9frrr1cZX7dunXr37i1JOnDggEaMGKH169crJCREqampmj59uurV89k5vgAAwCBeCyoAAAA/F/f6AQAAxiKoAAAAYxFUAACAsQgqAADAWASVWmzu3Lm66qqrFBQUpB49elT5Ar26ZsOGDRo4cKCaN28um82md955x23esixNnjxZV1xxherXr6+kpCTt27fPN8X6yLRp09StWzc1aNBAzZo10+DBg7Vnzx63ZcrKypSWlqbGjRsrNDRUKSkpri9jrCsyMjIUFxfn+rbQxMREvf/++655elS96dOny2azacyYMa4xeiVNmTJFNpvN7efH3+BOj86PoFJLvfnmm0pPT9dTTz2l3NxcdenSRf369dPRo0d9XZrPlJaWqkuXLpo7d2618y+88ILmzJmj+fPna+vWrQoJCVG/fv1UVlZWw5X6TnZ2ttLS0rRlyxZlZWXJ4XAoOTlZpaWlrmXGjh2rlStXatmyZcrOztbhw4c1ZMgQH1Zd86KjozV9+nTl5OTos88+U58+fTRo0CB98cUXkuhRdT799FO9/PLLiouLcxunV2f84he/0JEjR1w/GzdudM3RowuwUCt1797dSktLcz2urKy0mjdvbk2bNs2HVZlDkrVixQrXY6fTaUVFRVl/+tOfXGOFhYVWYGCgtWTJEh9UaIajR49akqzs7GzLss70xG63W8uWLXMt8+WXX1qSrM2bN/uqTCM0bNjQevXVV+lRNUpKSqy2bdtaWVlZ1o033miNHj3asixeT2c99dRTVpcuXaqdo0cXxh6VWqiiokI5OTlKSkpyjfn5+SkpKUmbN2/2YWXm2r9/v/Lz8916Fh4erh49etTpnhUVFUmSGjVqJEnKycmRw+Fw61P79u0VExNTZ/tUWVmppUuXqrS0VImJifSoGmlpaRowYIBbTyReTz+2b98+NW/eXK1atdLdd9+tgwcPSqJHnuArYGuhY8eOqbKyUpGRkW7jkZGR+uqrr3xUldny8/MlqdqenZ2ra5xOp8aMGaPrr79enTp1knSmTwEBAVXuSF4X+7Rz504lJiaqrKxMoaGhWrFihTp27Kjt27fTox9ZunSpcnNz9emnn1aZ4/V0Ro8ePbRw4UK1a9dOR44c0dSpU3XDDTdo165d9MgDBBWgjkpLS9OuXbvcjpXjv9q1a6ft27erqKhIy5cvV2pqqrKzs31dllHy8vI0evRoZWVlKSgoyNflGOuWW25x/XdcXJx69Oihli1b6q233lL9+vV9WFntwKGfWqhJkyby9/evclZ4QUGBoqKifFSV2c72hZ6dMXLkSL377rtat26doqOjXeNRUVGqqKhQYWGh2/J1sU8BAQFq06aNEhISNG3aNHXp0kWzZ8+mRz+Sk5Ojo0ePqmvXrqpXr57q1aun7OxszZkzR/Xq1VNkZCS9qkZERISuvvpqff3117yePEBQqYUCAgKUkJCgtWvXusacTqfWrl2rxMREH1ZmrtjYWEVFRbn1rLi4WFu3bq1TPbMsSyNHjtSKFSv00UcfKTY21m0+ISFBdrvdrU979uzRwYMH61SfquN0OlVeXk6PfuTmm2/Wzp07tX37dtfPtddeq7vvvtv13/SqqpMnT+qbb77RFVdcwevJE74+mxc/zdKlS63AwEBr4cKF1u7du62HH37YioiIsPLz831dms+UlJRY27Zts7Zt22ZJsmbMmGFt27bNOnDggGVZljV9+nQrIiLC+sc//mF9/vnn1qBBg6zY2Fjr9OnTPq685owYMcIKDw+31q9fbx05csT1c+rUKdcyv/vd76yYmBjro48+sj777DMrMTHRSkxM9GHVNW/ChAlWdna2tX//fuvzzz+3JkyYYNlsNmvNmjWWZdGj8/nxVT+WRa8sy7LGjRtnrV+/3tq/f7/1ySefWElJSVaTJk2so0ePWpZFjy6EoFKL/fnPf7ZiYmKsgIAAq3v37taWLVt8XZJPrVu3zpJU5Sc1NdWyrDOXKD/55JNWZGSkFRgYaN18883Wnj17fFt0DauuP5KsBQsWuJY5ffq09fvf/95q2LChFRwcbN1+++3WkSNHfFe0D9x///1Wy5YtrYCAAKtp06bWzTff7AoplkWPzud/gwq9sqxhw4ZZV1xxhRUQEGBdeeWV1rBhw6yvv/7aNU+Pzs9mWZblm305AAAA58c5KgAAwFgEFQAAYCyCCgAAMBZBBQAAGIugAgAAjEVQAQAAxiKoAAAAYxFUAACAsQgqAADAWAQVAABgLIIKAAAw1v8DaEFxEeDtt2sAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s.survey.plot()" ] }, { "cell_type": "code", "execution_count": 26, "id": "6dff3ad2-8e2b-47fc-bb2b-92c71bd7607e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "feature properties: {'class': 'TopoLine', 'kind': 'baseline', 'label': 'B01', 'show_label': False, 'id': 'B01'}\n" ] }, { "data": { "text/plain": [ "(,\n", " \n", " Name: WGS 84 / Pseudo-Mercator\n", " Axis Info [cartesian]:\n", " - X[east]: Easting (metre)\n", " - Y[north]: Northing (metre)\n", " Area of Use:\n", " - name: World between 85.06°S and 85.06°N.\n", " - bounds: (-180.0, -85.06, 180.0, 85.06)\n", " Coordinate Operation:\n", " - name: Popular Visualisation Pseudo-Mercator\n", " - method: Popular Visualisation Pseudo Mercator\n", " Datum: World Geodetic System 1984 ensemble\n", " - Ellipsoid: WGS 84\n", " - Prime Meridian: Greenwich)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.survey['B01']" ] }, { "cell_type": "code", "execution_count": 27, "id": "e22d6fdb-45b6-4096-982d-736f66a29b15", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "square grid step: 10.0\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s.query('kind==\"baseline\"').survey.plot()" ] }, { "cell_type": "code", "execution_count": 28, "id": "0d2e5fda-0200-4470-a452-b57543174fca", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "square grid step: 10.0\n" ] }, { "data": { "image/png": "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pYqKCr300kuKiorS1KlTfV2icXz+CnrzzTeVnp6up556Srm5uerSpYv69euno0eP+ro04zz77LM6efKkJk+erFdffVXvvfeePvjgA2VmZqpXr16qrKzUhg0bfF2mkfiOAs/QJ8/QJ8/QJ3cVFRVau3at4uLiVFZWpnnz5mnFihV6++23tXPnTs2bN0/vvvuudu/e7etSjeLzy5NnzJihhx56SPfdd58kaf78+Xrvvff02muvacKECVWWLy8vV3l5uetxcXGxJMnhcMjhcNRM0TXo7F8je/fu1ezZszVp0iTt3r1bJSUleuihh3T8+HG988472rVrl3r06KGNGzeqc+fOatSokSTJsixflm8Ep9Mph8Oh8vJy/ro7D/rkGfrkGfp0xo/D2rp163Ty5En16tVLb7zxhlq2bKnbbrtN69ev17p16zR27FgNHDhQY8aM0apVq1zPdTqdvirfqzz9zPZpUKmoqFBOTo7b5bV+fn5KSkrS5s2bq33OtGnTqt01tmbNGgUHB3ut1ppms9kUGxsru90uSfr973+vpk2b6rbbbtN//vMfVwCJi4ur8lx2HQKAuaZMmVJlbNKkSfruu+90xx13aNasWXrllVd00003SZK+//57HTt2rIar9L5Tp055tJzN8uGf3IcPH9aVV16pTZs2KTEx0TX+2GOPKTs7W1u3bq3ynOr2qLRo0ULHjh1TWFhYjdRdE2w2mytNf/DBBxowYIDefPNNpaSkaO/evXrrrbcUHR2tiooKHTlyRL/5zW8UExOj3bt36+2339Zdd92l1q1bu9ZXl/esOJ1OffPNN2rdunWd/svuQuiTZ+iTZ+iT+96U5cuX6/DhwxoxYoTsdrv++c9/avfu3WrXrp3279+v8PBwPfzww7LZbEpOTlZeXp527NihgIAASZfnXpXi4mI1adJERUVF5/389vmhn4sVGBiowMDAKuN2u9219+Fy4nA4NH78ePXq1UtDhw6VzWZThw4dNGzYMG3dulWWZenXv/612rZtK0mKj4/X9u3btW7dOrVr107+/v4+3gLfq6yslN1uV2BgIP04D/rkGfrkGfr0X/v379e+ffs0ZMgQ1x3vb7/9dkVEROjgwYOKjY3VgAEDVK/emY/k2bNnq0uXLpo3b57GjRsnSZdlDz39zPZpUGnSpIn8/f1VUFDgNl5QUKCoqCgfVWWWjIwMffnll/r973+vTz75xDUeGBio7t27q7y8XIGBgTpw4IBrrkOHDnrvvfe0ceNG3Xjjjb4o2zh1eY/SxaBPnqFPnqFPZwLbqlWr1KBBA4WFhbm9V1999dVq06aNioqK9O233+rkyZOuIwadO3fW+PHjdc899ygyMtJX5RvBp0ElICBACQkJWrt2rQYPHizpzO6ttWvXauTIkb4szRhvv/22JGnUqFEX/dyIiAiCis68pvbu3as2bdpcln+VXCr0yTP0yTP06Yyvv/7a9Xk2fvz4i35+XT1s9mM+P/STnp6u1NRUXXvtterevbtmzZql0tJS11VAdd3KlSt16NChaucqKyt14MABtWzZsto3gquuusrL1QEAzqddu3Y6ePCgSktLq50/3/t4UFCQmjZtWhNlGs3nQWXYsGH67rvvNHnyZOXn5ys+Pl6rV6+u87u6zmrQoIHat29f7VxlZaX8/f3Vtm3bOv0XCwCYrEWLFuec4338wnweVCRp5MiRHOr5iS7HM8EBoC7hffz8OPhVizmdTu3bt48XOQDUUryPXxhBpZZr1KgRuwsBoBaLiYnhffw8CCq1mL+//znPXwEAmM/f31/R0dG+LsNoBBUAAGAsgoqPvfjii7rtttvOOe90OpWRkaG2bduqYcOGGjx4sPbt2+e2TEVFhSZPnqzo6Gg1adJEDz74oL777ju3ZTIyMjR8+HD16NHD9Z01AICfr3///po1a9Y5548fP67f/e53atq0qZo3b65JkyaprKzMbZl///vfSklJUcOGDdW6dWv95S9/cTtvZcmSJerbt68iIyPVrFkz3XDDDcrKyvLWJhmFoOJjBw4c0K5du845n5GRoTFjxmjkyJFatWqVTpw4oT59+rjdzGncuHGaO3euXnjhBS1ZskSffPKJBg8e7PYif/HFF5Wfny+Hw6GdO3d6dZsAoC7ZuXOnDh48eM75lJQUrV27VosWLdLMmTP117/+VY888ohrvqysTH379lV+fr7effddjR07Vo8++qjmzJnjWmbRokVq3bq1MjIylJmZqQYNGqh///7avn27NzfNDFYtV1RUZEmyioqKfF3KTzJy5EgrNjb2nPPt27e3UlNTXY8LCgqsevXqWZmZmVZlZaV16NAhKygoyJo+fbprmfXr11uSrE8//bTK+kaNGmW1atXqkm6D6SoqKqx33nnHqqio8HUp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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = s.survey.plot()" ] }, { "cell_type": "code", "execution_count": 29, "id": "c295a7ff-39c8-4f23-bb8f-7f58a800cf3a", "metadata": {}, "outputs": [], "source": [ "L005 = TopoPoint('POINT (30. 30.)', id='L005', kind='landmark')\n", "B03 = TopoLine(LineString([L001.geometry, L005.geometry]), id='B03', kind='baseline', show_label=False)" ] }, { "cell_type": "code", "execution_count": 30, "id": "b35316c4-b6fd-4eb8-ab21-3ed115a24402", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/su530201/.local/share/virtualenvs/geometron-VhFx4lLH/lib/python3.10/site-packages/geopandas/array.py:1638: UserWarning: CRS not set for some of the concatenation inputs. Setting output's CRS as WGS 84 / Pseudo-Mercator (the single non-null crs provided).\n", " return GeometryArray(data, crs=_get_common_crs(to_concat))\n" ] } ], "source": [ "s = s.survey.add_features([L005, B03])" ] }, { "cell_type": "code", "execution_count": 31, "id": "0d1be7e3-c762-4542-b898-f09ad928f38e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "square grid step: 10.0\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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vNibb76pAwcOaObMmfLx8VGVKlX0pz/9Sd9++626detGpADwOLeGyuTJk9WyZUuFhoaqevXq6tatm/bu3eu0TV5enhISEhQeHq6QkBDFx8crIyPDncMCICkjI0MTJkzQ0KFD1bBhQ+Xk5EiSbr/9dn3++ec6fPgwkQLA49waKqmpqUpISNCmTZuUkpIim82mjh07Kjc317HNkCFDtGLFCi1dulSpqak6evSounfv7s5hAZD08ssvKywsTKNGjdL27du1bds2bd++XQ8//LBCQkI0ZcoUZWVleXqYALycW0+mXbVqldPtBQsWqHr16tq6davatGmjrKwszZs3T4sXL9Z9990nSZo/f74aN26sTZs26Y477nDn8ACvtXXrVi1ZskSrV6/W8ePHlZ+fr3r16umZZ55RZmamPvnkE508eVKHDh1SZGSkfHx4lRiAZ5Tqu34Kn51VrVpV0sVfljabTe3bt3ds06hRI0VHR2vjxo3Fhkp+fr7y8/Mdt7OzsyVJNptNNpvNncM3ncL99bb9vlrM00WFsWEYhl566SWNGDFCLVu21N69e+Xn56fevXvrxIkTGjRokE6dOqV69epp/fr1+u6779SqVSvH/RiG4fjyRjyeXMM8ucab58nVfS61ULHb7Ro8eLDuuusuNWnSRJKUnp4uf39/Va5c2WnbyMhIpaenF3s/kydP1vjx44ss/+qrr7z2tfSUlBRPD6FM8OZ5ioiIcDxB+PLLL3XzzTerS5cujicPiYmJstvtmjFjho4ePaqvvvpKOTk52rt3r8LDw3XDDTcoODhY0sUnHIW/YOx2u3JycnT27Fnl5uZ6Vbx48+PpajBPrvHGeTp37pxL25VaqCQkJGjXrl1av379dd3PqFGjlJiY6LidnZ2tWrVqqWPHjgoLC7veYZYpNptNKSkp6tChg/z8/Dw9HNNinv53NOXcuXNKT09X27Zt1axZM1mtVo0aNUqGYWjChAmqWLGibr/9doWHh2vz5s06efKkFi1apGXLlumpp55Sjx49FBsbe8mf4w1HWng8uYZ5co03z1PhKyJXUiqhMmDAAH322Wdat26datas6VgeFRUlq9WqzMxMp6MqGRkZioqKKva+AgICFBAQUGS5n5+f1/1HLuTN+341mKeLJ7gHBQXp7rvvVnZ2tp588knl5ubqs88+U3BwsM6fP6/AwEDl5+erefPmat68ubp37673339fmZmZeuSRR+Tv768ePXroscceU2xs7BWvtlxe8XhyDfPkGm+cJ1f3162hYhiGBg4cqOXLl2vt2rWqU6eO0/rY2Fj5+flp9erVio+PlyTt3btXhw4dUlxcnDuHBnilPXv2yG63a86cOVq6dKlsNpt69eqlWbNmydfXV76+vtq7d69q1aqlChX+9+shOjpajz/+uN5++21t3LhRS5cuVdeuXYkWAG7n1lBJSEjQ4sWL9Z///EehoaGO804qVaqkoKAgVapUSf369VNiYqKqVq2qsLAwDRw4UHFxcbzjB3CDJ598UsePH3f8P/fWW28pKChI0sUT1Tdt2qSHH35Yvr6+CgkJUVhYmEJCQmSxWFS/fn1ZLBbddddduuuuuzR9+nSiBYDbuTVUkpOTJUlt27Z1Wj5//nz17dtXkjRjxgz5+PgoPj5e+fn56tSpk2bPnu3OYQFeKzw8XP3795ePj4++/vprpxPQCwoKFBgYqAYNGhS5enJxfHx8iBYAbuf2l36uJDAwUElJSUpKSnLnUACv585r9xAtANyFT3ECvIArkWK327V//37Z7fbr+lmF0TJz5kwdPnxYixYtktVqVdeuXVW3bl0NHz5c33//fbl/dxCAkkGoAOVcYaQEBQXp888/v+yRlKCgoBL9FFqiBcD1IlSAcuzChQt67LHHVK9ePS1atEj+/v6X3NbX11cxMTFue2mGaAFwLQgVoJyy2+3auXOnIiMj9frrr7t0gmxpIVoAuIpQAcqRN998U2PGjJHdbtfu3bvl6+ur2bNnO0XKihUr1L59e7Vq1UoTJ07U+fPnne7Dbrdr7ty5jpNj586dq4KCAsf6I0eOaMCAAWrbtq1uu+02de7cWfPnz7/mc1uIFgCXQ6gA5ci6dev01Vdfaffu3SooKFDTpk2dImXOnDnq3r27mjVrpj59+mjOnDnq2rWr030kJiYqMTFRDz30kB566CElJiZqyJAhjvVHjhzRwYMHdd9996lPnz6KiorSX/7yF40ZM+a6x0+0APijUr16MgD3s9lsxUaKJE2aNEn9+vXTtGnTJElNmjRR27ZttWHDBt1xxx06e/askpOTNX36dA0cOFCSFBoaqiFDhmj8+PGqUqWKWrVqpRUrVjjdr2EYWrhwoSZOnFhi+8FbngFIHFEByg273a7z58/LMIxiI+XAgQP67bff1L17d8eyu+++WxEREfrmm28kSRs3btSFCxfUs2dPxzY9e/bUhQsXlJqaesmfbbVaVa1atRLeo//hSAvgvQgVoBwoPCdFunihr+JOnN22bZskqV69eo5lPj4+uvHGG5WWliZJ2rVrlypWrKjq1as7tomIiFBISIh27tzpdH9vv/22Ro0apa5du+q///2vZs2aVeL7VRyiBfAuhApQxhVGSkFBgYKCgi75MkhOTo6ki9fa+r3CqyZL0vnz5xUcHFzke4ODg5Wbm+u0bM+ePfr++++1bds2ValSxekihqWFaAHKP0IFKMOsVqvTibOXExoaKknKzMx0Wn727FnHh8AFBwc7gub3cnJyFBIS4rRs1qxZSklJ0YEDB9SoUSM9+uijunDhwnXszfUhWoDyiVAByiir1ap+/fpd8sTZP2rVqpUk6eeff3YsKygo0G+//abmzZtLkmJiYnT+/Hn99ttvjm2OHj2q3NxcxcbGFnu/FSpUUO/evXXs2DEdPHjwOveqZBAtQPlBqABl0O+v3eNKpEhSzZo1VbduXX300UeOZSkpKTp9+rQ6dOgg6WLMBAYG6v3333dss3jxYgUGBuruu++WdPFdRX/03//+V6GhoYqKirreXStxRAtQtvH2ZKCM+eMFBv8YKfv27VN8fLzTstjYWP3tb3/TK6+8oj59+kiS6tSpo1mzZql79+6KjY2V3W5XSEiIEhMTNW7cOGVkZEiSkpOTNXToUIWFhUmSRo4cqR9++EEtWrSQj4+Ptm3bpq+//lp///vfiz2/xUxK4i3PFoulyMtgANyHUAHKkCtdBblLly6qUaNGke+LiIiQJD3++OOqU6eOZsyYoQ0bNui1117T008/7bTtK6+8opYtW2revHmSpCVLlujhhx92rO/Tp48WLFigXbt2yWq1qn79+lq1apU6duxY0rvrVtcaLRaLRTfeeGOJXrwRwKURKkAZcaVIkS5GROERk0u58847deedd15yvcViUbdu3dStW7di18fExGj69OlXNXazu5poAVC6eEoAlAGuRApKxpXOaRkxYoR27drFOS1AKSFUAJMrrUgpKCjQ9u3b+QP8O8VFi81mU0JCgho0aMCJuEApIFQAEyvtIynnz5+/5qsgl3eF0TJ9+nStWbNGCxcu5N1DQCkgVACT4uUe8+Itz0DpIVQAEyJSzMswDKcA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9MADD8gwDE2aNEknTpzw9DBNic8ocA3z5BrmyTXMkzOr1arVq1crJiZGeXl5mj17tpYvX66PP/5YaWlpmj17tj777DPt2bPH00M1FY+/PXn69On6y1/+oqefflqSNGfOHH3++ef617/+pZEjRxbZPj8/X/n5+Y7b2dnZkiSbzSabzVY6gy5Fhc9Gfv75Z82aNUsTJ05Udna2rFarmjRpoieffFK5ubl69913FRgYqEOHDqlatWqOj2Q2DMOTwzcFu90um82m/Px8nt1dBvPkGubJNczTRb+PtTVr1ignJ0dt2rTRe++9p9q1a+vhhx/W2rVrtWbNGg0ZMkRdunTR4MGDtXLlSsf32u12Tw3frVz9m+3RULFardq6datGjRrlWObj46P27dtr48aNxX7P5MmTiz009tVXX5WrlzwsFovq1KkjPz8/SdILL7ygiIgIde7cWdLFAPnmm2/0888/q1evXvroo48kSadOnVKXLl2Uk5PjsbEDAC5t3LhxRZaNHj1aJ06c0KOPPqqZM2fqnXfe0b333ivp4u/1kydPlvIo3e/cuXMubWcxPPiU++jRo7rxxhu1YcMGxcXFOZYPHz5cqamp2rx5c5HvKe6ISq1atXTy5EmFhYWVyrhLg8VicdT0l19+qQcffFAffvih4uPjderUKe3Zs0dhYWGyWq06f/68YmJiFBYWpj179mjZsmXq3bu36tWr57g/bz6yYrfb9csvv6hevXpe/czuSpgn1zBPrmGenI+mLFu2TEePHlX//v3l5+enTz/9VHv27FHDhg114MABVapUSc8995wsFos6duyow4cPa+fOnfL395dUPo+qZGdnq1q1asrKyrrs32+Pv/RztQICAhQQEFBkuZ+fn+PoQ3lis9k0bNgwtWnTRj169JDFYlH16tXl4+Oj3377Tf7+/qpfv77Cw8MlSTExMdq2bZvWrFmjhg0bytfX18N74HkFBQXy8/NTQEAA83EZzJNrmCfXME//c+DAAe3bt0/du3d3XPH+kUceUeXKlXXo0CHVqVNHDz74oCpUuPgnedasWWrWrJlmz56toUOHSlK5nENX/2Z7NFSqVasmX19fZWRkOC3PyMhQVFSUh0ZlLsnJyfrxxx/1wgsv6Ntvv3UsDwsLU0REhC5cuCCr1er4wDdJaty4sT7//HOtX79e99xzjyeGbTrefETpajBPrmGeXMM8XQy2lStXKjQ0VGFhYU6/q2+++WbVr19fWVlZ+u2335STk+N4xaBp06YaNmyYnnjiCUVGRnpq+Kbg0VDx9/dXbGysVq9erW7dukm6eHhr9erVGjBggCeHZhoff/yxJGngwIFX/b2VK1cmVHTxMfXzzz+rfv365fJZSUlhnlzDPLmGebpo//79jr9nw4YNu+rv99aXzX7P4y/9JCYmqk+fPrr99tvVqlUrzZw5U7m5uY53AXm7FStW6MiRI8WuKygo0MGDB1W7du1ifxHcdNNNbh4dAOByGjZsqEOHDik3N7fY9Zf7PR4YGKiIiIjSGKapeTxUevbsqRMnTmjMmDFKT09X8+bNtWrVKq8/1FUoNDRUjRo1KnZdQUGBfH191aBBA69+xgIAZlarVq1LruP3+JV5PFQkacCAAbzUc43K45ngAOBN+D1+ebz4VYbZ7Xbt27ePBzkAlFH8Hr8yQqWMq1q1KocLAaAMi46O5vf4ZRAqZZivr+8lz18BAJifr6+vatas6elhmBqhAgAATItQ8bCpU6fq4YcfvuR6u92u5ORkNWjQQFWqVFG3bt20b98+p22sVqvGjBmjmjVrqlq1anr22WeLXEU5OTlZffv2VevWrR2fWQMAuH6dO3fWzJkzL7n+9OnTev755xUREaEaNWpo9OjRysvLc9rm119/VXx8vKpUqaJ69erprbfecjpvZcmSJerQoYMiIyNVvXp13X333UpJSXHXLpkKoeJhBw8e1K5duy65Pjk5WYMHD9aAAQO0cuVKnTlzRvfdd5/TxZyGDh2qpKQkvf7661qyZIm+/fZbdevWzelBPnXqVKWnp8tmsyktLc2t+wQA3iQtLU2HDh265Pr4+HitXr1aixYt0owZM/TPf/5TL774omN9Xl6eOnTooPT0dH322WcaMmSIXnrpJb355puObRYtWqR69eopOTlZ8+bNU2hoqDp37qwdO3a4c9fMwSjjsrKyDElGVlaWp4dyTQYMGGDUqVPnkusbNWpk9OnTx3E7IyPDqFChgjFv3jyjoKDAOHLkiBEYGGhMmTLFsc3atWsNScaWLVuK3N/AgQONunXrlug+mJ3VajU++eQTw2q1enoopsY8uYZ5co03zVPNmjWNIUOGFLtu586dhiRj1apVjmUzZ840/P39jdzcXKOgoMB4++23DR8fH+Pw4cOObZ577jmjXr16jts2m83pfvPy8oyqVasaL774YgnvTelx9e83R1RM7PTp09q7d6/uv/9+x7Lq1auradOmWr9+vSRp69atysvLU5cuXRzb/OlPf1KlSpW0du3a0h4yAOB31qxZo4oVK6pdu3aOZQ8//LCsVqvj+m2bNm1S48aNnU6qfeCBB/TLL7/o+PHjkuS4YGEhPz8/VahQocjy8ohQMbE9e/bIMIwin2oYFRWln3/+WZIc56vUrl3bsd7X11fVqlXTTz/9VHqDBQAU8dNPPyk8PNwpKAqDZM+ePZKkX375pcinsRduc6lTA2bPnq3Tp0+rT58+7hi2qRAqJlZ4Fc3g4GCn5UFBQbLZbJIunkhrsVgUGBhYZBur1Vo6AwUAFMtmsykoKMhpmZ+fn/z9/R0n1NpsNlWsWNFpm8Lf+3886VaSUlJS9NJLL2nChAmKiYlx08jNg1AxsfDwcEnSqVOnnJZnZmYqLCxM0sUrJBuGoTNnzjhtk5WVpUqVKpXOQAEAxapUqZKysrKcluXm5spqtTp+x4eFhSkzM9Npm9OnT0v639+BQqmpqerevbtefPFFjRw50n0DNxFCxcSaNGmi4OBgp3fpFH7ccmxsrCQ5/rlz507HNpmZmUpPT1fr1q1Ld8AAACetWrXSyZMnnT4yovCdOnfeeackqVmzZtq/f7/TOzXT0tIUGBio5s2bO5Z9++236tKli5555hm99tprpTJ+MyBUTKxChQq68847tWTJEhUUFEiSVq9ercOHD6tz586SLp6bctNNN2n+/PmO71uwYIEsFovat2/vkXEDAC5q166d/Pz8NG/ePMeyf/3rX6pZs6bjk8Xbt2+v9PR0rVy5UtLFKyq///77iouLU0BAgCRp48aN6ty5s5544gnNmDGj9HfEg8r/6cJlwJEjR9S0aVOnZY0bN9ZHH32kqVOnqm3btrr99tvVtGlTLVu2TE888YTatGkju90ui8WimTNnqlevXjpy5IiqVq2qTz/9VGPHjlVUVJTj/v785z8rLS1N6enpys7Odvy8NWvWqFq1aqW6vwBQ3ixatKjIB7ANGjRIzz77rMaNG6fRo0fru+++U3Z2ttavX69FixbJx8dHdrtdzZs319NPP60ePXooPj5eP/74o3799Vd9/fXXjvvq37+/cnJytG7dOjVr1syxvGPHjpo2bVqp7acnECoe1rt3b916661FllevXl2SFBMTo19++UVJSUnKyMjQxx9/7PR2ZUnq0qWL9u7dq+TkZOXl5Wnjxo26/fbbnbbp0aOH2rRpU+Tn/PFEXQDA1ZkyZYrOnj1bZHnLli0lSSNGjFCnTp20cOFCBQQE6J133lGdOnWctp07d6569eqlFStWqGvXrhowYICqVq3qWD969GidPHmyyM9o0KBBCe+N+VgMwzA8PYjrkZ2d7ThZqfAEU29ht9t16tQphYeHy8eHV/EuxWazaeXKlercubP8/Pw8PRzTYp5cwzy5hnlyjTf/Hnf177d3zUo5YxgGb0EGgDKsjB8rKBWEShlmt9u1bds2pzPFAQBlh91u19atWwmWyyBUyji73c4DHADKsPz8fJ5wXgahAgAATItQAQAApkWoAAAA0yJUAACAaREqAADAtAgVAABgWoQKAAAwLUIFAACYFqECAABMi1ABAACmRagAAADTIlQAAIBpESoAAMC0CBUAAGBahAoAADAtQgUAAJgWoQIAAEyLUAEAAKZFqAAAANMiVAAAgGkRKgAAwLQIFQAAYFqECgAAMC1CBQAAmBahAgAATItQAQAApkWoAAAA0yJUAACAaREqAADAtAgVAABgWoQKAAAwLUIFAACYFqECAABMi1ABAACmRagAAADTIlQAAIBpESoAAMC0CBUAAGBahAoAADAtQgUAAJgWoQIAAEyLUAEAAKZFqAAAANMiVAAAgGm5LVQmTZqkO++8UxUrVlTlypWL3ebQoUN68MEHVbFiRVWvXl0vvfSSLly44K4hAQCAMqaCu+7YarWqR48eiouL07x584qsLygo0IMPPqioqCht2LBBx44d01NPPSU/Pz+9+uqr7hoWAAAoQ9wWKuPHj5ckLViwoNj1X331lfbs2aOvv/5akZGRat68uSZMmKARI0Zo3Lhx8vf3L/b78vPzlZ+f77idlZUlSTp9+rRsNlvJ7oTJ2Ww2nTt3TqdOnZKfn5+nh2NazJNrmCfXME+uYZ5c483zdPbsWUmSYRiX3c5toXIlGzduVNOmTRUZGelY1qlTJ/Xv31+7d+9WixYtiv2+yZMnOyLo9+rUqeO2sQIAAPc4e/asKlWqdMn1HguV9PR0p0iR5Lidnp5+ye8bNWqUEhMTHbftdrtOnz6t8PBwWSwW9wzWpLKzs1WrVi0dPnxYYWFhnh6OaTFPrmGeXMM8uYZ5co03z5NhGDp79qxq1Khx2e2uKlRGjhyp11577bLb/Pjjj2rUqNHV3O1VCQgIUEBAgNOyS52s6y3CwsK87gF+LZgn1zBPrmGeXMM8ucZb5+lyR1IKXVWoDB06VH379r3sNnXr1nXpvqKiovTdd985LcvIyHCsAwAAuKpQiYiIUERERIn84Li4OE2aNEnHjx9X9erVJUkpKSkKCwvTLbfcUiI/AwAAlG1uO0fl0KFDOn36tA4dOqSCggLt2LFDklS/fn2FhISoY8eOuuWWW/Tkk0/q9ddfV3p6ukaPHq2EhIQiL+2geAEBARo7dizzdQXMk2uYJ9cwT65hnlzDPF2ZxbjS+4KuUd++fbVw4cIiy9esWaO2bdtKkg4ePKj+/ftr7dq1Cg4OVp8+fTRlyhRVqOCxc3wBAICJuC1UAAAArhfX+gEAAKZFqAAAANMiVAAAgGkRKgAAwLQIlTIsKSlJN910kwIDA9W6desiH6DnbdatW6cuXbqoRo0aslgs+uSTT5zWG4ahMWPG6IYbblBQUJDat2+vffv2eWawHjJ58mS1bNlSoaGhql69urp166a9e/c6bZOXl6eEhASFh4crJCRE8fHxjg9j9BbJycmKiYlxfFpoXFycvvjiC8d65qh4U6ZMkcVi0eDBgx3LmCtp3LhxslgsTl+//wR35ujyCJUy6sMPP1RiYqLGjh2rbdu2qVmzZurUqZOOHz/u6aF5TG5urpo1a6akpKRi17/++ut68803NWfOHG3evFnBwcHq1KmT8vLySnmknpOamqqEhARt2rRJKSkpstls6tixo3Jzcx3bDBkyRCtWrNDSpUuVmpqqo0ePqnv37h4cdemrWbOmpkyZoq1bt+r777/Xfffdp65du2r37t2SmKPibNmyRW+//bZiYmKcljNXF9166606duyY42v9+vWOdczRFRgok1q1amUkJCQ4bhcUFBg1atQwJk+e7MFRmYckY/ny5Y7bdrvdiIqKMt544w3HsszMTCMgIMBYsmSJB0ZoDsePHzckGampqYZhXJwTPz8/Y+nSpY5tfvzxR0OSsXHjRk8N0xSqVKlizJ07lzkqxtmzZ40GDRoYKSkpxj333GMMGjTIMAweT4XGjh1rNGvWrNh1zNGVcUSlDLJardq6davat2/vWObj46P27dtr48aNHhyZeR04cEDp6elOc1apUiW1bt3aq+csKytLklS1alVJ0tatW2Wz2ZzmqVGjRoqOjvbaeSooKNAHH3yg3NxcxcXFMUfFSEhI0IMPPug0JxKPp9/bt2+fatSoobp16+rxxx/XoUOHJDFHruAjYMugkydPqqCgQJGRkU7LIyMj9dNPP3loVOaWnp4uScXOWeE6b2O32zV48GDdddddatKkiaSL8+Tv71/kiuTeOE9paWmKi4tTXl6eQkJCtHz5ct1yyy3asWMHc/Q7H3zwgbZt26YtW7YUWcfj6aLWrVtrwYIFatiwoY4dO6bx48fr7rvv1q5du5gjFxAqgJdKSEjQrl27nF4rx/80bNhQO3bsUFZWlpYtW6Y+ffooNTXV08MylcOHD2vQoEFKSUlRYGCgp4djWg888IDj32NiYtS6dWvVrl1bH330kYKCgjw4srKBl37KoGrVqsnX17fIWeEZGRmKiory0KjMrXBemLOLBgwYoM8++0xr1qxRzZo1HcujoqJktVqVmZnptL03zpO/v7/q16+v2NhYTZ48Wc2aNdOsWbOYo9/ZunWrjh8/rttuu00VKlRQhQoVlJqaqjfffFMVKlRQZGQkc1WMypUr6+abb9b+/ft5PLmAUCmD/P39FRsbq9WrVzuW2e12rV69WnFxcR4cmXnVqVNHUVFRTnOWnZ2tzZs3e9WcGYahAQMGaPny5frmm29Up04dp/WxsbHy8/Nzmqe9e/fq0KFDXjVPxbHb7crPz2eOfqddu3ZKS0vTjh07HF+33367Hn/8cce/M1dF5eTk6JdfftENN9zA48kVnj6bF9fmgw8+MAICAowFCxYYe/bsMZ577jmjcuXKRnp6uqeH5jFnz541tm/fbmzfvt2QZEyfPt3Yvn27cfDgQcMwDGPKlClG5cqVjf/85z/GDz/8YHTt2tWoU6eOcf78eQ+PvPT079/fqFSpkrF27Vrj2LFjjq9z5845tnn++eeN6Oho45tvvjG+//57Iy4uzoiLi/PgqEvfyJEjjdTUVOPAgQPGDz/8YIwcOdKwWCzGV199ZRgGc3Q5v3/Xj2EwV4ZhGEOHDjXWrl1rHDhwwPj222+N9u3bG9WqVTOOHz9uGAZzdCWEShn2j3/8w4iOjjb8/f2NVq1aGZs2bfL0kDxqzZo1hqQiX3369DEM4+JblP/+978bkZGRRkBAgNGuXTtj7969nh10KStufiQZ8+fPd2xz/vx544UXXjCqVKliVKxY0XjkkUeMY8eOeW7QHvDMM88YtWvXNvz9/Y2IiAijXbt2jkgxDObocv4YKsyVYfTs2dO44YYbDH9/f+PGG280evbsaezfv9+xnjm6PIthGIZnjuUAAABcHueoAAAA0yJUAACAaREqAADAtAgVAABgWoQKAAAwLUIFAACYFqECAABMi1ABAACmRagAAADTIlQAAIBpESoAAMC0/h9SLs4YeVgMbgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s.survey.plot()" ] }, { "cell_type": "code", "execution_count": 32, "id": "45d15fca-23a5-4dc2-a416-9e455fc26b67", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "square grid step: 10.0\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ZhkAAKCa4rt+AOAylJeXa8+ePW79iR6gKhFUAOAyeXt7V7g+BYBz8F8aAFwGT09PxcTEcLt8oIoQVAAAgGlV+X1UAMDV0tPT5ePjo2efffaCa7799lulp6eruLhYjz76qB5++GG70z2GYWju3LmaPXu2fH19lZycrA4dOtjmDx48qLFjx1bYbkpKiu0mmAAujSMqANzOv//9b33yyScXnH/nnXeUkJCg0NBQNW3aVM8//7x69+5ttyY5OVnPPfecbr31VoWFhekvf/mLpkyZYps/cuSI3n33Xe3evVu5ubm2P6Wlpc7aLeCqxBEVADhPWVmZRowYoRdffFETJkyQdPab3Z966ikNGTJEkZGRys3N1fTp0/X3v/9dTz31lCQpKChIaWlp6tOnj939VTIyMhQVFeWSfQGuBhxRAYDzbNy4UUePHtUjjzxiG3vwwQdtX/khSatWrZKnp6ftSwkl6a9//auOHTumjRs32m3v9OnTysvLU1lZWZXUD1xtCCoAcJ5169ZJkm666SbbWEBAgEJDQ7V+/XpJUk5OjkJDQxUYGGhb86c//UmS9MMPP9ht7+abb9a1116riIgIvfLKKzpz5oyzdwG4qhBUAOA8J0+elJeXlwICAuzGg4KCdPLkSdua80OKJPn7+8vb21snTpyQJNWpU0f/+Mc/tGvXLm3btk0vvPCCJkyYoNGjR1fNjgBXCYIKAJzH399fZ86c0alTp+zGT548qRo1atjWFBUV2c0XFxfLarXaAs51112nxx9/XPXr19eNN96o4cOHq2fPnvrwww+rZkeAqwRBBQDO06xZM0nSzp07bWPFxcX69ddfFRMTI0lq0qSJfv31V50+fdq2Zvfu3ZKk5s2bX3DbjRo10uHDh51QNXD1IqgAwHlatWqloKAgLViwwDb2+eefq7i42HaflLZt26qkpESfffaZbc2CBQsUFBSkli1bSlKF7wIqKytTZmambr755irYC+DqwceTAbiln376Sc8995zdWFxcnJ588kkNGDBAY8aMkSTVqlVLb7zxhh566CE1atRI5eXlql+/vh5++GElJyfr0KFDOnbsmMaPH6+BAwfK29tbktS/f38dPXpUzZs3V3FxsT777DOtW7dOCxcurPJ9BaozggoAt9OpUyfl5ORUuM7k3M3Yhg4dqujoaGVkZKikpESvvvqqXnjhBbu1M2fO1LRp0zRnzhz5+vpq+vTpevjhh23zHTt21MyZM/XRRx/JMAw1b95cEyZMUNu2bZ2/g8BVhKACwO0MGjToovMeHh565JFH7O6l8r98fHyUkpKilJSUSufvu+8+3XfffX+oTgBcowIAAEyMoAIAl6GsrEw//fSTDMNwdSmAWyCoAMBlKigoqPCpHgDOQVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABYOPl5eXqEgDADkEFgCTJw8NDDRs2lMVicXUpAGBDUAFgh6ACwEwIKgAkSUuWLNHevXtdXQYA2OGENAD99NNPeuCBB9SoUSNt3rxZnp6eri4JACRxRAVwe4ZhqH///goNDdX27ds1Y8YMV5cEADYEFcDNff7558rMzFRGRoa6du2qYcOG6fjx464uCwAkEVQAt1ZSUqLU1FR17NhR9913n1JTU3X69GmNHDnS1aUBgCSCCuDW3n77be3Zs0eTJk2SxWJR3bp1NXjwYL3zzjvatm2bq8sDAOcGlTFjxqhly5YKCgpS3bp11a1bN23fvt1uTXFxsZKTk1W7dm0FBgYqMTFR+fn5ziwLgKT8/Hy9/vrreuGFF3TjjTdqy5YtOnjwoPr166d69eopNTXV1SUCgHODSlZWlpKTk7V27VplZmbKarWqU6dOKioqsq3p37+/Fi9erAULFigrK0uHDh1S9+7dnVkWAElDhgyRt7e3+vTpo1atWqlZs2aKj4/X4MGDNX78eH355ZdasmSJq8sE4Oac+vHkpUuX2j2eNWuW6tatq+zsbN15550qKCjQjBkzNGfOHLVv316SNHPmTN10001au3atbr/9dmeWB7it7OxsffDBB3rnnXc0efJk7d+/X0uWLNGKFSs0btw4denSRe3bt1f//v0VHx8vHx8fV5cMwE1V6X1UCgoKJEm1atWSdPbN0mq1Kj4+3ramcePGioqK0po1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kpISlZSU2B4XFhZKkqxWq6xW6xXeA3M7t7/utt+Xiz45hj45hj45hj45xp375Og+WwzDMJxcy9kfZLFo0aJF6tatmyRp9+7datiwoTZs2KBmzZrZ1t11111q1qyZpkyZUul2RowYobS0tArjc+bMkb+/vzNKBwAAV9ipU6f017/+VQUFBQoODr7gOqceUbmYvLw8SVJYWJjdeFhYmG2uMoMHD1ZqaqrtcWFhoerVq6dOnTpddEevRlarVZmZmerYsaO8vb1dXY5p0SfH0CfH0CfH0CfHuHOfzp0RuRSXBZXfy9fXV76+vhXGvb293e4v+Rx33vfLQZ8cQ58cQ58cQ58c4459cnR/Xfbx5PDwcElSfn6+3Xh+fr5tDgAAuDeXBZUGDRooPDxcy5Yts40VFhbq+++/V1xcnKvKAgAAJuLUUz8nT57Uzp07bY/37NmjjRs3qlatWoqKilK/fv00atQoRUdHq0GDBnrttdcUERFhu+AWAAC4N6cGlR9//FF333237fG5i2CTkpI0a9YsvfLKKyoqKtJzzz2n48eP689//rOWLl0qPz8/Z5YFAACqCacGlXbt2ulin362WCwaOXKkRo4c6cwyAABANcV3/QAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqFRzgYGBri4BAPAH+Pn5uboEUyOoVGMeHh667rrr5OHBXyMAVEceHh6qX7++LBaLq0sxLX7DAQDgYgSVCyOoVGMLFy7U0qVLXV0GAOB3KC4u1pAhQ5SXl+fqUkzNy9UF4PfZt2+fevXqJUnq2rWrGjRo4NqCAACXZeLEiXrzzTe1fv16ffnll64ux7Q4olJNvfLKKwoJCVFgYKAGDx7s6nIAAJfh4MGDeuONN9S8eXNlZmbq22+/dXVJpkVQqYb+85//aP78+XrjjTeUmpqq+fPn6z//+Y+rywIAOGjw4MHy9/dXZmammjdvrpdeeklnzpxxdVmmRFCpZsrKypSSkqKWLVvqscceU9euXXXbbbcpJSVFZWVlri4PAHAJa9eu1T//+U+NHj1aISEhevXVV5WTk6P333/f1aWZEkGlmpk5c6Y2bNigKVOmyMPDQx4eHpo0aZI2bNigWbNmubo8AMBFlJeXKyUlRc2aNdNTTz0lSbrllluUlJSk1157TceOHXNxheZjiqCSnp6u66+/Xn5+fmrdurV++OEHV5dkSgUFBRoyZIgeffRRxcTE6NNPP9U333yjmJgYPfroo3r11VdVUFDg6jIBABfw0Ucf6YcfftCUKVO0e/duzZs3T5s3b9aoUaNUUlKitLQ0V5doOi4PKvPnz1dqaqqGDx+u9evXKyYmRgkJCTp8+LCrSzOdUaNG6eTJkxo8eLBat26txMRE9e3bV3FxcRo0aJBOnjypUaNGubpMAEAlTp48qYEDB6pHjx46evSobr75Zj322GPq2bOnZsyYoaFDh+rdd9/V1q1bXV2qqbj848kTJ07Us88+qyeffFKS9N577+mLL77QBx98oEGDBlVYX1JSopKSEtvjwsJCSZLVapXVaq2aoqvQubvO/vLLL5oyZYqGDh2qRYsWac+ePVq3bp0OHDigxx57TJ988oleeeUVjR49Wk8//bSio6MlnT3M6O7OvS6uxtfHlUSfHEOfHEOfzrJYLLabuY0ePVrHjh3TmDFj1L59eyUkJOiDDz7Qa6+9phEjRmjPnj16//331a9fPy1ZssT2vKv1fdzR14ZLg0ppaamys7PtPl7r4eGh+Ph4rVmzptLnjBkzptJDY19//bX8/f2dVmtVs1gsatCggby9vSVJL7zwgkJDQ3X//fdr5syZMgxDNWrUUHR0tIKDg7Vr1y6lpKRo2rRpeuGFFzR16lRJZ18Ie/bskWEYrtwdU8jMzHR1CdUCfXIMfXKMO/cpMDBQ1113nSTpwIEDmjhxop5++mlZrVYVFxerbt26+u2339S8eXNJ0s8//6z+/furT58+ev/993X33XdLkn777TcdOXLEZfvhLKdOnXJoncVw4W+wQ4cO6brrrtPq1asVFxdnG3/llVeUlZWl77//vsJzKjuiUq9ePR05ckTBwcFVUndVOD+Ff/XVV+rcubPmz5+vxMRErVq1Su3bt1ebNm1UXFys9evXa9myZbrjjju0cOFCPfzww/riiy+UkJAgSTIMw62DitVqVWZmpjp27GgLfqiIPjmGPjmGPsnue9geeughff/999q6dasCAgL01FNPaf78+XrggQf0zTff6Nprr9W6devk6emphIQE7d+/X5s2bZKPj4+kq/OoSmFhoerUqaOCgoKL/v52+amfy+Xr6ytfX98K497e3lflfwxWq1UDBgzQnXfeqR49eshiseiuu+7Sp59+qkmTJunMmTP6+OOP1a5dO0ln/2OYOnWqBgwY4NZvEJW5Wl8jVxp9cgx9cgx9kpYvX66PP/5Ys2fPtv1CnjZtmsLCwvTdd9+pbdu2mjp1qu1325QpUxQTE6OpU6fqpZdekiR5enq6rH5ncfR14dKgUqdOHXl6eio/P99uPD8/X+Hh4S6qylwyMjL0888/64UXXtB3331nGw8JCdGwYcN04MABhYSEaNWqVba5Hj16qG/fvnrrrbf06quvuqJsAICkM2fOqF+/foqKilJUVJTde/X999+vzp0768CBA9qxY4d2795tm7v11ls1YMAAPfbYYwoLC3NF6abh0qDi4+Oj2NhYLVu2TN26dZN09vDWsmXL1KdPH1eWZhoff/yxJKlv376X/dzKjjwBAKrOrl27tHnzZknSnXfeednPP//0kbty+amf1NRUJSUl6bbbblOrVq00efJkFRUV2T4F5O4WL16sgwcPVjpXVlamvXv3qn79+pUeFrz++uudXB0A4GJuvPFG7du3T0VFRZXOX+x93M/PT6GhoVVRpqm5PKj07NlTv/76q4YNG6a8vDw1a9ZMS5cudftDXecEBQWpcePGlc6VlZXJ09NT0dHRV+X5SwC4GtSrV++Cc7yPX5rLg4ok9enTh1M9v9PVeCU4ALgT3scvjpNf1Vh5ebl27NjBixwAqinexy+NoFLN1apVi8OFAFCNRUVF8T5+EQSVaszT0/OC168AAMzP09NTkZGRri7D1AgqAADAtAgqLjZ+/Hjdf//9F5wvLy9XRkaGoqOjdc0116hbt27asWOH3ZrS0lINGzZMkZGRqlOnjp555hn9+uuvdmsyMjLUq1cvtW7d2nbPGgDAH3fvvfdq8uTJF5w/evSonn/+eYWGhioiIkJDhw5VcXGx3Zrdu3crMTFR11xzjRo2bKh3333X7rqVuXPnqmPHjgoLC1PdunV1xx13uM33KBFUXGzv3r3asmXLBeczMjLUr18/9enTR0uWLNGxY8fUvn17uy9zeumll5Senq5x48Zp7ty5+u6779StWze7F/n48eOVl5cnq9WqnJwcp+4TALiTnJwc7du374LziYmJWrZsmWbPnq1Jkybp73//u1588UXbfHFxsTp27Ki8vDx9/vnn6t+/v15++WW9/fbbtjWzZ89Ww4YNlZGRoRkzZigoKEj33nuvNm7c6MxdMwejmisoKDAkGQUFBa4u5Xfp06eP0aBBgwvON27c2EhKSrI9zs/PN7y8vIwZM2YYZWVlxsGDBw0/Pz9j7NixtjUrVqwwJBnr1q2rsL2+ffsaN9xwwxXdB7MrLS01PvnkE6O0tNTVpZgafXIMfXKMO/UpMjLS6N+/f6VzmzZtMiQZS5cutY1NnjzZ8PHxMYqKioyysjJj2rRphoeHh7F//37bmueee85o2LCh7bHVarXbbnFxsVGrVi3jxRdfvMJ7U3Uc/f3NERUTO3r0qLZv366//OUvtrG6devq1ltvtX1fRHZ2toqLi9WlSxfbmj//+c+qWbOmVqxYUdUlAwDOs3z5cvn7+6tDhw62sfvvv1+lpaW2729bu3atbrrpJruLau+55x7t2rVLhw8fliR5ednf9szb21teXl4Vxq9GBBUT27p1qwzDqHBXw/DwcP3yyy+SZLtepX79+rZ5T09P1alTR9u2bau6YgEAFWzbtk21a9e2CxTnAsnWrVslnf0+oP+9G/u5NRe6NGDq1Kk6evSokpKSnFG2qRBUTKykpESSFBAQYDdeo0YNWa1WSWcvpLVYLPLz86uwprS0tGoKBQBUymq1qkaNGnZj3t7e8vHxsV1Qa7Va5e/vb7fm3Pv+/150K0mZmZl6+eWX9frrr6tp06ZOqtw8CComVrt2bUnSb7/9Zjd+/PhxBQcHS5JCQkJkGIaOHTtmt6agoEA1a9asmkIBAJWqWbOmCgoK7MaKiopUWlpqe48PDg7W8ePH7dYcPXpU0v//HjgnKytL3bt314svvqhBgwY5r3ATIaiY2C233KKAgAC7T+mcu91ybGysJNn+d9OmTbY1x48fV15enlq3bl21BQMA7LRq1UpHjhyxu2XEuU/qtGnTRpIUExOjnTt32n1SMycnR35+fmrWrJlt7LvvvlOXLl301FNP6c0336yS+s2AoGJiXl5eatOmjebOnauysjJJ0rJly7R//37de++9ks5em3L99ddr5syZtufNmjVLFotF8fHxLqkbAHBWhw4d5O3trRkzZtjGPvjgA0VGRtruLB4fH6+8vDwtWbJE0tlvVP7oo48UFxcnX19fSdKaNWt077336rHHHtOkSZOqfkdc6Oq/XLgaOHjwoG699Va7sZtuukn/+te/NH78eLVr10633Xabbr31Vi1cuFCPPfaY7rzzTpWXl8tisWjy5Ml6+OGHdfDgQdWqVUufffaZhg8frvDwcNv2/vrXvyonJ0d5eXkqLCy0/bzly5erTp06Vbq/AHC1mT17doUbsKWkpOiZZ57RiBEjNHToUP3www8qLCzUqlWrNHv2bHl4eKi8vFzNmjXTk08+qR49eigxMVE///yzdu/erW+++ca2rd69e+vkyZNauXKlYmJibOOdOnXShAkTqmw/XYGg4mKPPPKIbr755grjdevWlSQ1bdpUu3btUnp6uvLz8/Xxxx/bfVxZkrp06aLt27crIyNDxcXFWrNmjW677Ta7NT169NCdd95Z4ef874W6AIDLM3bsWJ04caLCeMuWLSVJAwcOVEJCgj788EP5+vrq/fffV4MGDezWTp8+XQ8//LAWL16srl27qk+fPqpVq5ZtfujQoTpy5EiFnxEdHX2F98Z8LIZhGK4u4o8oLCy0Xax07gJTd1FeXq7ffvtNtWvXlocHZ/EuxGq1asmSJbr33nvl7e3t6nJMiz45hj45hj45xp3fxx39/e1eXbnKGIbBR5ABoBqr5scKqgRBpRorLy/X+vXr7a4UBwBUH+Xl5crOziawXARBpZorLy/nBQ4A1VhJSQn/4LwIggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtggoAADAtpwWV0aNHq02bNvL391dISEila/bt26fOnTvL399fdevW1csvv6wzZ844qyQAAFDNeDlrw6WlperRo4fi4uI0Y8aMCvNlZWXq3LmzwsPDtXr1auXm5uqJJ56Qt7e33njjDWeVBQAAqhGnBZW0tDRJ0qxZsyqd//rrr7V161Z98803CgsLU7NmzfT6669r4MCBGjFihHx8fCp9XklJiUpKSmyPCwoKJElHjx6V1Wq9sjthclarVadOndJvv/0mb29vV5djWvTJMfTJMfTJMfTJMe7cpxMnTkiSDMO46DqnBZVLWbNmjW699VaFhYXZxhISEtS7d2/99NNPat68eaXPGzNmjC0Ena9BgwZOqxUAADjHiRMnVLNmzQvOuyyo5OXl2YUUSbbHeXl5F3ze4MGDlZqaantcXl6uo0ePqnbt2rJYLM4p1qQKCwtVr1497d+/X8HBwa4ux7Tok2Pok2Pok2Pok2PcuU+GYejEiROKiIi46LrLCiqDBg3Sm2++edE1P//8sxo3bnw5m70svr6+8vX1tRu70MW67iI4ONjtXuC/B31yDH1yDH1yDH1yjLv26WJHUs65rKDy0ksvqVevXhddc8MNNzi0rfDwcP3www92Y/n5+bY5AACAywoqoaGhCg0NvSI/OC4uTqNHj9bhw4dVt25dSVJmZqaCg4PVpEmTK/IzAABA9ea0a1T27duno0ePat++fSorK9PGjRslSY0aNVJgYKA6deqkJk2a6PHHH9e4ceOUl5enoUOHKjk5ucKpHVTO19dXw4cPp1+XQJ8cQ58cQ58cQ58cQ58uzWJc6nNBv1OvXr304YcfVhhfvny52rVrJ0nau3evevfurRUrViggIEBJSUkaO3asvLxcdo0vAAAwEacFFQAAgD+K7/oBAACmRVABAACmRVABAACmRVABAACmRVCpxtLT03X99dfLz89PrVu3rnADPXezcuVKdenSRREREbJYLPrkk0/s5g3D0LBhw3TttdeqRo0aio+P144dO1xTrIuMGTNGLVu2VFBQkOrWratu3bpp+/btdmuKi4uVnJys2rVrKzAwUImJ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s.query('kind==\"landmark\"').survey.plot()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.13" } }, "nbformat": 4, "nbformat_minor": 5 }